package com.niiwoo.civet.user.dto.request;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * 站内信按扭参数
 *
 * @author xueyuke
 * @date 2017-12-16
 */
public class AppButtonDTO implements Serializable{

    private static final long serialVersionUID = -7174748065359646383L;
    //按钮类型
    private ButtonTypeEnum buttonType;
    //按钮标签,即按钮上显示的文字
    private String label;
    //按钮参数
    private Map<String, Object> params = new HashMap<String, Object>();

    @AllArgsConstructor
    @Getter
    public enum ButtonTypeEnum {
        RECHARGE(1, "充值"),
        MONEY_2(2, "钱小二"),
        UPDATE_PHOTO(3, "更新身份-基础信息-身份证照片"),
        PRESET_PLAN(4, "约标"),
        UPDATE_IDENTIFY_INFO(5, "更新征信报告"),
        LOAN(6, "发布借款"),
        EDIT_LOAN(7, "修改申请-借款申请"),
        EDIT_GET_AMOUNT(8, "修改申请-获取额度"),
        CONTACT_INVESTIGATOR(9, "联系尽调人"),
        MONMY_LOAN_DETAILEY_2(11, "借款详情"),
        PROJECT_GROUP(12, "项目群-群聊"),
        GUARANTEE(13, "我要担保"),
        EXAM(14, "考试"),
        MY_GUARANTEE_DETAIL(15, "我的担保详情"),
        CALL(16, "打电话"),
        MESSAGE(17, "消息-聊天"),
        MY_INVESTMENT_DETAIL(21, "我的投资标详情"),
        CHECK_CPY_INFO(22, "微担保资料界面-马上查看"),
        MY_WEALTH(23, "我的财富"),
        MY_GUARANTEE_LIST(24, "我的担保列表"),
        MY_INVEST_LIST(25, "我的投资列表"),
        INVESTIGATION_LIST(26, "首页--附近尽调列表"),
        GUARANTOR_FULL_INFORMATION(27, "完善资料 我-身份-担保人认证"),
        AUDIT_CPY_INFO(28, "微担保资料界面-马上修改"),
        SEE_BILL(29, "查看账单(BillType 0全部账单，1支出，-1收入，1206投资，?4担保，1204还款，1100充值，1200提现,1120投资奖励，1104投资回款，1210担保垫付 1114垫付返还)"),
        SEE_BANKCARD_LIST(30, "查看银行卡列表"),
        AGAIN_APPLY(31, "重新申请"),
        REGAIN_ACCREDIT(34, "重新授权手机运营商"),
        AUTO_INVEST(35, "自动投资"),
        BANK_ACCOUNT_INFO(40, "存管信息"),
        LOAN_ING_LIST(41, "我的借款列表（进行中）页面"),
        WEB_VIEW_WITHTOKEN(98, "需要添加TOKEN的链接"),
        EVALUATE_TEST(36, "风险评测"),
        WEB_VIEW(99, "网页链接(Url)"),
        VIEW_LOAN(37, "查看借款"), // 退回修改信息
        WAIT_CONFIRM(38, "查看借款"); // 金额修改待确认

        private Integer type;
        private String desc;
    }

    public Integer getButtonType() {
        return buttonType.getType();
    }

    public void setButtonType(ButtonTypeEnum buttonType) {
        this.buttonType = buttonType;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public Map<String, Object> getParams() {
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }
}
